#ifndef __REGULATION_H
#define __REGULATION_H

#define SENSOR_TASK_PRIO                     24
#define SENSOR_TASK_STACK_SIZE               0x1000  // 传感器线程的优先级和占用空间

#define REGULATION_TASK_STACK_SIZE        0x1000
#define REGULATION_TASK_PRIO             17

#define SPAN 36
#define SLE_RX_LENGTH              72//数据包总长度
#define regulation_num 7

#define CONFIG_UART_BUS_ID 2  // CO2传感器
#define SUPPORT_I2C_MASTER true  // 温湿度传感器
#define CONFIG_I2C_MASTER_BUS_ID 1

// 传感部分引脚定义
#define CONFIG_UART_TXD_PIN 8  // CO2传感器
#define CONFIG_UART_RXD_PIN 7
#define CONFIG_SHT30_IIC_SDA_PIN 15  // 温湿度传感器
#define CONFIG_SHT30_IIC_SCL_PIN 16

// 传感器数据包内下标代表的环境参数
#define CO2   4
#define PH    8
#define TDS   12
#define DO    16
#define TEMP  20
#define MOIS  24
#define LIGHT 28

// 调控部分引脚及数据包格式定义
#define LAMP                       0
#define BUMP_ALKALI                1
#define BUMP_NUTRITION             2
#define FAN                        3
#define HEATER                     4
#define BUMP_ACID                  5
#define HUMIDIFIER                 6

#define SLE_TX_LENGTH                      30//数据包总长度

typedef unsigned char uint8_t;//在极少部分情况下程序会因不认识uint8_t而报错，在此单独定义一下就好

extern uint8_t sle_tx_buff[SLE_TX_LENGTH];//将所有数据汇总，通过星闪发送出去

extern uint8_t sle_rx_buff[SLE_RX_LENGTH];

#endif